home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 23 / Amiga Format AFCD23 (Feb 1998, Issue 107).iso / mui / mui_developer / extclasses / mcc_tron / mccreg / info next >
Text File  |  1997-03-10  |  6KB  |  203 lines

  1. /*** Information about MUI Custom Classes  $VER: 0.8 ***/
  2.  
  3.  
  4. - Preface:
  5.  
  6. You should *only* make MCCs when you intend to release a custom class
  7. to the public and you have to document its interface. You should *not*
  8. make MCCs for classes which are only used by yourself. If you need a
  9. class in different executables, you may put this class into an
  10. external library to reuse the code.
  11.  
  12. So again... a xyz.mcc needs to be public and needs to have its
  13. interface well documented, otherwise it shouldnt be a public xyz.mcc.
  14. If you don't want others to use your classes, dont make them as MCCs!
  15.  
  16.  
  17.  
  18. - Info:
  19.  
  20. * to register
  21.  
  22.   1) At first send *only* information to about what kind of class you
  23.      are writing. A short description is fine.
  24.  
  25.   2) Ask yourself if the class should be made publically,
  26.      is there an *interest*?
  27.      All new classes *should* be discussed in the MUI mailing list:
  28.        mui@sunsite.Informatik.RWTH-Aachen.DE !
  29.  
  30.   3) If you don't know your MUI serial nr (4 digits), ask me!
  31.  
  32.   4) Create Autodocs, Includes and an example for your class,
  33.      test it with the latest MUI release, Enforcer and Mungwall or
  34.      PoolWatch!
  35.  
  36.   5) Make a list of _all_ IDs the class is using, this means all
  37.      public and private ones! Furthermore the config IDs which are
  38.      used by the MCC and the MCP. Create a *Registration Report*!
  39.  
  40.   6) Create a archive with:
  41.      - class, readme
  42.      - autodocs, C includes
  43.      - demo, demo source
  44.      - Registration Report
  45.      > send it to: mccreg@sasg.com
  46.  
  47. * Registration Report
  48.  
  49.   ...looks like this:
  50.  
  51.     MCC Tron -- Registration Report
  52.     
  53.     MCC Tron is (c) 1996 by Klaus 'kmel' Melchior
  54.     
  55.     
  56.     Classname:
  57.     
  58.             Tron.mcc
  59.             Tron.mcp
  60.     
  61.     Public:
  62.     
  63.             MUIM_Tron_Demo                      0x8002000b
  64.             MUIA_Tron_Running                   0x80020040
  65.     
  66.     Private:
  67.     
  68.             MUIA_Tron_PenSpec1                  0x80020043
  69.             MUIA_Tron_PenSpec2                  0x8002003e
  70.             MUIA_Tron_PenSpecB                  0x80020065
  71.             MUIA_Tron_Sample                    0x8002003f
  72.             MUIA_Tron_Speed                     0x80020042
  73.     
  74.     Config:
  75.     
  76.             MUICFG_Tron_Pen1                    0x80020005
  77.             MUICFG_Tron_Pen2                    0x80020006
  78.             MUICFG_Tron_PenB                    0x8002000c
  79.             MUICFG_Tron_Speed                   0x80020007
  80.     
  81.     
  82.     MCC END
  83.  
  84. * to get an example C source for MCCs and MCPs
  85.  
  86. > write to: mccreg@sasg.com
  87. > or better, take it from aminet: dev/mui/MCC_Tron0_8.lha
  88.  
  89.  
  90.  
  91. - More Info:
  92.  
  93. * Public name for the custom class.
  94.  
  95. Note that you *must* register public names with the author of MUI. All
  96. unregistered public classes are promised to go on a builtin blacklist
  97. and will fail with future versions of MUI!
  98.  
  99.  
  100. * Uniqueness.
  101.  
  102. I suggest a format like this: 1441_Toolbar.mcc
  103. ie 4-digit serial number, followed by an underscore, followed by a
  104. somewhat meaningfull name. This fixed format allows me to handle these
  105. classes in a preferences editor some day.
  106.  
  107.  
  108. * Private custom classes.
  109.  
  110. Private custom classes need to be placed in a 'MUI/' subdir of your
  111. applications main directory. MUI will find it there if you simply do a
  112. MUI_NewObject("1441_Toolbar.mcc"). Do not install them in 'MUI:Libs/'!
  113.  
  114.  
  115. * Attributes and methods for the new class.
  116.  
  117. Your tags have to be named MUI(A/M)_<classname>_<foobar>. The upper
  118. sixteen bits of your tag values need to be (TAG_USER | ( <your MUI
  119. serial Nr> << 16 )) Again, classes with invalid tag specs are promised
  120. to go on the blacklist. This implies that you have to be a registered
  121. MUI user if you want to distribute public classes.
  122.  
  123. The first ID tag is used for internal purpose, so you don't have to
  124. use it!
  125.  
  126. Example:
  127.  
  128. If your serial number is 4711 (decimal):
  129.  
  130.           4711 = 0x1267
  131.         tagbase: 0x9267xxxx
  132. First usable ID: 0x92670001
  133.            last: 0x9267ffff
  134.  
  135.  
  136. * Config IDs
  137.  
  138. Also the IDs to store configuration data of you MCP have to be named
  139. MUICFG_<classname>_<foobar>, these are private at normal conditions.
  140. The upper sixteen bits of your IDs need to be (TAG_USER | ( <your MUI
  141. serial Nr> << 16 )), as you IDs.
  142.  
  143. The first config ID is used for internal purpose, so you don't have to
  144. use it!
  145.  
  146. Example:
  147.  
  148.                  4711 = 0x1267
  149.                tagbase: 0x9267xxxx
  150. First usable config ID: 0x92670001
  151.                   last: 0x9267ffff
  152.  
  153. > WARNING: Don't use your config IDs twice, nor use any old config ID!
  154.  
  155.  
  156. * File specification:
  157.  
  158. - Custom class header files should have a "_mcc.h" appended and should
  159.   be place in 'Include:mui/'!
  160.  
  161. - Autodocs files should be named "MCC_<Name>.doc".
  162.  
  163. - Example code & source: <Name>-Demo & <Name>-Demo.c
  164.  
  165. - Documentation: <Name>.mcc.doc & <Name>.mcc.guide
  166.  
  167. - Catalogs: <Name>_mcc.catalog
  168.  
  169.  
  170. * MCC archives:
  171.  
  172. Filename: 'MCC_<Name><Version>.lha'
  173.  
  174. MCC_<Name>/Demos/<Name>-Demo
  175. MCC_<Name>/Developer/AutoDocs/MCC_<Name>.doc             [option]
  176. MCC_<Name>/Developer/C/Examples/<Name>-Demo.c            [option]
  177. MCC_<Name>/Developer/C/Include/MUI/<Name>_mcc.h          [option]
  178. MCC_<Name>/Developer/Amiga-E/Modules/MUI/<Name>_mcc.e    [option]
  179. MCC_<Name>/Developer/Amiga-E/Examples/<Name>-Demo.e      [option]
  180. MCC_<Name>/Developer/Modula/txt/MCC<Name>.def            [option]
  181. MCC_<Name>/Developer/Modula/txt/MCC<Name>.mod            [option]
  182. MCC_<Name>/Developer/Modula/Demo/<Name>Demo.mod          [option]
  183. MCC_<Name>/Developer/Oberon/txt/MCC<Name>.mod            [option]
  184. MCC_<Name>/Developer/Oberon/examples/<Name>Demo.mod      [option]
  185. MCC_<Name>/Developer/Assembler/Include/MUI/<Name>_mcc.i  [option]
  186. MCC_<Name>/Developer/Assembler/Examples/<Name>-Demo.s    [option]
  187. MCC_<Name>/Developer/Source/...                          [option]
  188. MCC_<Name>/Docs/English/<Name>.mcc.doc
  189. MCC_<Name>/Docs/English/<Name>.mcc.guide
  190. MCC_<Name>/Docs/.../<Name>.mcc.doc                       [option]
  191. MCC_<Name>/Docs/.../<Name>.mcc.guide                     [option]
  192. MCC_<Name>/Images/...                                    [option]
  193. MCC_<Name>/Libs/MUI/<Name>.mcc
  194. MCC_<Name>/Libs/MUI/<Name>.mcp                           [option]
  195. MCC_<Name>/Locale/Catalogs/.../<Name>_mcc.catalog        [option]
  196. MCC_<Name>/Locale/Catalogs/.../<Name>_mcp.catalog        [option]
  197. MCC_<Name>/MCC_<Name>.readme
  198. MCC_<Name>/MCC-Install                                   [option]
  199.  
  200. As example take this from Aminet: dev/mui/MCC_Tron0_8.lha
  201.  
  202.  
  203.